package com.example.cash.craft.service;

import com.example.cash.craft.pojo.param.CategoryAddNewParam;
import com.example.cash.craft.pojo.param.CategoryUpdateParam;
import com.example.cash.craft.pojo.vo.CategoryVO;
import com.example.cash.craft.pojo.vo.PageData;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Transactional
public interface ICategoryService {

    void addNew(CategoryAddNewParam param);

    void deleteById(Long id);

    void updateById(Long id, CategoryUpdateParam param);

    CategoryVO selectById(Long id);

    PageData<CategoryVO> listAll(Integer page);

    void rebuildCache();

}
